package com.cwvs.services;

import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cwvs.dao.AppUserDao;
import com.cwvs.models.ResultInfo;
import com.cwvs.utils.Pages;

/**
 * 用户SERVICE
 * 
 */
@Service
public class AppUserService {

	@Resource
	private AppUserDao appUserDao;

	/**
	 * 用户新增
	 */
	public ResultInfo addUserInfo(Map<String, Object> o) {
		return appUserDao.addUserInfo(o);
	}

	/**
	 * 通过用户名手机号邮箱判断用户已经存在
	 * 
	 * @return ture 表示用户存在 false 表示不存在
	 */
	public boolean isExistsUser(String username, String phone, String email) {
		return appUserDao.isExistsUser(username, phone, email);
	}
	/**
	 * 
	 * 更新用户密码
	 */
	public ResultInfo updateUserPassword(Map<String, Object> o) {
		return appUserDao.updateUserPassword(o);
	}
	/**
	 * 生成用户TOKEN信息
	 */
	public String createToken(Map<String, Object> o) {
		return appUserDao.createToken(o);
	}
	/**
	 * 通过手机号获取用户信息
	 * @return
	 */
	public Map<String,Object> getUserInfoByMobile(String mobile){
		return appUserDao.getUserInfoByMobile(mobile);
	}
	/**
	 * 用户登录
	 */
	public ResultInfo login(Map<String, Object> o) {
		return appUserDao.login(o);
	}
	/**
	 * 通过手机号获取管理用户信息
	 * @return
	 */
	public Map<String,Object> getAdminUserByMobile(String mobile){
		return appUserDao.getAdminUserByMobile(mobile);
	}
	/**
	 * 通过token获取用户信息
	 */
	public ResultInfo getUserInfo(String token) {
		return appUserDao.getUserInfo(token);
	}
	/**
	 * 用户列表
	 * 
	 * @return
	 */
	public Pages userList(Map<String, Object> m, Pages page) {
		return appUserDao.userList(m, page);
	}
	/**
	 * 更新用户状态
	 * @param id
	 * @param status
	 * @return
	 */
	public boolean updateUserStatus(String id,boolean status){
		return appUserDao.updateUserStatus(id, status);
	}
	/**
	 * 意见反馈
	 * @param m
	 * @return
	 */
	public boolean saveFeedback(Map<String,Object> m){
		return appUserDao.saveFeedback(m);
	}
	/**
	 * 保存用户头像上传记录
	 */
	public void saveImageLog(Map<String,Object> m){
		appUserDao.saveImageLog(m);
	}
	/**
	 * 更新用户头像
	 */
	public void updateImage(Map<String,Object> m){
		appUserDao.updateImage(m);
	}
}
